package com.csair.platform.cit.facade.exception;

import com.csair.invoice.common.base.exception.PlatformException;
import lombok.extern.slf4j.Slf4j;


/**
 * 企业所得税微服务业务异常 以70开头
 * @author liaoxiaojin
 *
 */
@Slf4j
public class CitBizException extends PlatformException {

    /**
     * 主管税务机关代码不能为空
     */
    public static final Integer ZGSWJGDM_NOT_FOUND = 7001;
    
    /**
     * 当前税号本属期企业所得税已申报成功，不要重复申报
     */
    public static final Integer FORBID_REPEATED_DECLARE = 7002;

    /**
     * 申报接口调用异常
     */
    public static final Integer SEND_ERROR = 7003;

    /**
     * 税号不能为空
     */
    public static final Integer NSRSBH_NOT_NULL = 7004;

    /**
     * 该数据已进行了申报，禁止更新
     */
    public static final Integer NO_UPDATE_AFTER_DECLARATION = 7005;

    /**
     * 获取期初数据异常
     */
    public static final Integer GET_INIT_DATA_ERROR = 7006;


    /**
     * 税号授权失败
     */
    public static final Integer TAX_NO_AUTH_ERROR = 7007;
    
    /**
     * 调用报文失败
     */
    public static final String SEND_ERROR_MESSAGE = "调用报文失败";
    
    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    /**
     * 构造函数
     */
    public CitBizException() {
    }

    /**
     * 构造函数
     * @param code 错误代码
     * @param msFormat dos格式
     * @param args 参数
     */
    public CitBizException(int code, String msFormat, Object... args) {
        super(code, msFormat, args);
    }

    /**
     * 构造函数
     * @param code 错误代码
     * @param msg 错误信息
     */
    public CitBizException(int code, String msg) {
        super(code, msg);
    }
    
    /**
     * 输出异常信息到日志
     * @return 异常对象
     */
    public CitBizException print() {
        log.error("==>UserCenterBizException, code:" + this.code + ", msg:" + this.msg, this);
        return this;
    }

	public enum UserCenterBizExceptionEnum {

	}
}
